/******************************************************************************/
/* @ All Rights Reserved Copyright (C) 2015 broada,Ltd.                       */
/*                                                                            */
/*  NAME      = rmi_parse.h                                                   */
/*  NOTE      =                                                               */
/*  DATE      = 2015/07/10 by geyh                                            */
/******************************************************************************/

#ifndef __RMI_PARSE_H_
#define __RMI_PARSE_H_

#include "frbyte_buffer.h"
#include "frreport_comm.h"

typedef struct __st_L7session_rmi_private
{
    unsigned long ul_seq;                             /* 序列号，1次req和response时，使用同一个序列号 */
    Frreport_body_data *p_st_body_data_req;
    Frreport_body_data *p_st_body_data_resp;
    Frlist_header *p_lst_comm_tmp;
    Frlist_header *p_lst_req_tmp;
    L4_transaction st_l4_trans;                         /* 数据 */
    Frbyte_Packet *p_st_data;
    int i_flag_cont;                                    //continuation
    int i_flag_response_required;                       //是否要求响应
    int i_flag_pre_data;                                //上一个数据包类型
    char *p_transaction_title;
    char *p_server;
    int i_flag_report;
    int i_flag_needed;
    int i_args_num;
    int i_use_request;
    
    char *p_func;
    
}L7session_rmi_private;

int rmi_parse(Frbyte_Packet *p_st_data, Frreport_body_data *p_st_body_data, L7session_rmi_private *p_st_private);
#endif
